package com.supms.course.mapper;

import java.util.List;
import com.supms.course.domain.PaperReview;

/**
 * 论文(毕设)复查Mapper接口
 * 
 * @author LiangHao
 * @date 2022-03-12
 */
public interface PaperReviewMapper 
{
    /**
     * 查询论文(毕设)复查
     * 
     * @param id 论文(毕设)复查主键
     * @return 论文(毕设)复查
     */
    public PaperReview selectPaperReviewById(Long id);

    /**
     * 查询论文(毕设)复查列表
     * 
     * @param paperReview 论文(毕设)复查
     * @return 论文(毕设)复查集合
     */
    public List<PaperReview> selectPaperReviewList(PaperReview paperReview);

    /**
     * 新增论文(毕设)复查
     * 
     * @param paperReview 论文(毕设)复查
     * @return 结果
     */
    public int insertPaperReview(PaperReview paperReview);

    /**
     * 修改论文(毕设)复查
     * 
     * @param paperReview 论文(毕设)复查
     * @return 结果
     */
    public int updatePaperReview(PaperReview paperReview);

    /**
     * 删除论文(毕设)复查
     * 
     * @param id 论文(毕设)复查主键
     * @return 结果
     */
    public int deletePaperReviewById(Long id);

    /**
     * 批量删除论文(毕设)复查
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePaperReviewByIds(Long[] ids);

    /**
     * 通过用户帐号获取督导姓名（用户姓名）
     * @param operName 用户账号
     * @return 结果（用户姓名 ==> 督导姓名）
     */
    public String getSupNameByOperName(String operName);

    /**
     * 将论文(毕设)复查表中的评价标记改为已评价（"1"）
     * @param paperReviewId 论文(毕设)复查表ID
     */
    public void updatePaperReviewEvalFlagById(Long paperReviewId);

    /**
     * 获取本科毕业论文(设计)复查记录表（数据综合查看表） --- 未评价
     */
    public PaperReview getPaperReviewTable0(PaperReview paperReview);

    /**
     * 获取本科毕业论文(设计)复查记录表（数据综合查看表） --- 已评价
     */
    public PaperReview getPaperReviewTable1(PaperReview paperReview);

    /**
     * 通过传来的论文(毕设)复查表ID，查询已经做了评价的表
     * @param ids 需要删除本论文(毕设)复查表的ID数组
     * @return 已经做了评价的论文(毕设)复查表ID数组
     */
    public Long[] selectPaperReviewEvalFlagByIds(Long[] ids);

    /**
     * 批量删除已评价的论文(毕设)复查表
     * @param haveIds 已经做了评价的论文(毕设)复查表ID
     */
    public void deletePaperReviewEvalByIds(Long[] haveIds);
}
